/*
*  Copyright 2019-2025 Zheng Jie
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*/
package me.zhengjie.modules.account.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import cn.hutool.core.bean.BeanUtil;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.copier.CopyOptions;
import java.math.BigDecimal;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

/**
* @description /
* @author lzw
* @date 2025-04-24
**/
@Data
@TableName("account_ac08")
public class AccountAc08 implements Serializable {

    @TableId(value = "aaz648")
    @ApiModelProperty(value = "养老保险人员实收明细ID")
    private String aaz648;

    @ApiModelProperty(value = "人员征缴明细ID")
    private String aaz223;

    @NotBlank
    @ApiModelProperty(value = "人员缴费ID")
    private String aaz686;

    @NotBlank
    @ApiModelProperty(value = "人员编号")
    private String aac001;

    @NotBlank
    @ApiModelProperty(value = "人员参保关系ID")
    private String aaz159;

    @NotBlank
    @ApiModelProperty(value = "单位编号")
    private String aab001;

    @NotBlank
    @ApiModelProperty(value = "险种类型")
    private String aae140;

    @NotNull
    @ApiModelProperty(value = "费款所属期")
    private BigDecimal aae002;

    @NotNull
    @ApiModelProperty(value = "对应费款所属期")
    private BigDecimal aae003;

    @NotBlank
    @ApiModelProperty(value = "应缴类型")
    private String aaa115;

    @ApiModelProperty(value = "地方应缴类型")
    private String aae793;

    @ApiModelProperty(value = "地方应缴类型名称")
    private String aae794;

    @NotBlank
    @ApiModelProperty(value = "承担缴费主体类型")
    private String aaa093;

    @NotBlank
    @ApiModelProperty(value = "参保身份")
    private String aac066;

    @ApiModelProperty(value = "地方参保身份码值")
    private String aac313;

    @ApiModelProperty(value = "地方参保身份名称")
    private String aac314;

    @NotBlank
    @ApiModelProperty(value = "缴费资金来源")
    private String aae737;

    @NotBlank
    @ApiModelProperty(value = "单位类型")
    private String aab019;

    @NotBlank
    @ApiModelProperty(value = "征缴方式")
    private String aab033;

    @ApiModelProperty(value = "以个人身份参保人员缴费档次")
    private String aae745;

    @ApiModelProperty(value = "农民工标识")
    private String aac028;

    @NotNull
    @ApiModelProperty(value = "工资")
    private BigDecimal aac040;

    @NotNull
    @ApiModelProperty(value = "单位缴费基数")
    private BigDecimal aab121;

    @NotNull
    @ApiModelProperty(value = "人员缴费基数")
    private BigDecimal aae180;

    @NotNull
    @ApiModelProperty(value = "记账基数")
    private BigDecimal aae795;

    @NotNull
    @ApiModelProperty(value = "缴费基数累计增加额")
    private BigDecimal aae871;

    @NotBlank
    @ApiModelProperty(value = "利息征收标志")
    private String aae828;

    @ApiModelProperty(value = "利息截止年月")
    private BigDecimal aic380;

    @NotBlank
    @ApiModelProperty(value = "滞纳金征收标志")
    private String aae834;

    @ApiModelProperty(value = "滞纳金计算截止日期")
    private BigDecimal aae845;

    @ApiModelProperty(value = "补缴规则")
    private String aae844;

    @NotNull
    @ApiModelProperty(value = "到账日期")
    private BigDecimal aab191;

    @NotNull
    @ApiModelProperty(value = "单位实缴金额")
    private BigDecimal aae080;

    @NotNull
    @ApiModelProperty(value = "单位实缴划入个人账户金额")
    private BigDecimal aae081;

    @NotNull
    @ApiModelProperty(value = "个人实缴金额")
    private BigDecimal aae082;

    @NotNull
    @ApiModelProperty(value = "个人实缴划入个人账户金额")
    private BigDecimal aae083;

    @ApiModelProperty(value = "单位实缴金额利息")
    private BigDecimal aae788;

    @ApiModelProperty(value = "单位实缴划入个人账户金额利息")
    private BigDecimal aae789;

    @ApiModelProperty(value = "个人实缴金额利息")
    private BigDecimal aae790;

    @ApiModelProperty(value = "个人实缴划入个人账户金额利息")
    private BigDecimal aae791;

    @ApiModelProperty(value = "单位实缴金额利息其中本年利息")
    private BigDecimal aae840;

    @ApiModelProperty(value = "单位实缴划入个人账户金额利息其中本年利息")
    private BigDecimal aae841;

    @ApiModelProperty(value = "个人实缴金额利息其中本年利息")
    private BigDecimal aae842;

    @ApiModelProperty(value = "个人实缴划入个人账户金额利息其中本年利息")
    private BigDecimal aae843;

    @ApiModelProperty(value = "单位实缴金额滞纳金")
    private BigDecimal aae057;

    @ApiModelProperty(value = "个人实缴金额滞纳金")
    private BigDecimal aae888;

    @ApiModelProperty(value = "其他来源实缴金额")
    private BigDecimal aae086;

    @NotBlank
    @ApiModelProperty(value = "数据来源")
    private String aae741;

    @NotNull
    @ApiModelProperty(value = "缴费月数")
    private BigDecimal aae202;

    @NotNull
    @ApiModelProperty(value = "单位缴费比例或定额标准")
    private BigDecimal aaa042;

    @NotNull
    @ApiModelProperty(value = "单位缴费划入个人账户比例或定额标准")
    private BigDecimal aaa043;

    @NotNull
    @ApiModelProperty(value = "个人缴费比例或定额标准")
    private BigDecimal aaa041;

    @NotNull
    @ApiModelProperty(value = "个人缴费划入个人账户比例或定额标准")
    private BigDecimal aaa045;

    @ApiModelProperty(value = "核定批次号")
    private String aaz616;

    @ApiModelProperty(value = "核定流水号")
    private String aaz615;

    @ApiModelProperty(value = "补退流水号")
    private String aae061;

    @NotBlank
    @ApiModelProperty(value = "参加单位结算标志")
    private String aae108;

    @ApiModelProperty(value = "转出地行政区划代码")
    private String aab301;

    @ApiModelProperty(value = "转移参保地行政区划代码")
    private String aab299;

    @ApiModelProperty(value = "转入业务起息年月")
    private BigDecimal aae729;

    @ApiModelProperty(value = "缴费备用字段1")
    private String aae819;

    @ApiModelProperty(value = "缴费备用字段2")
    private String aae820;

    @ApiModelProperty(value = "双低系数（历史数据）")
    private BigDecimal aae796;

    @ApiModelProperty(value = "固化社平工资（历史数据）")
    private BigDecimal aae797;

    @ApiModelProperty(value = "基数比例（历史数据）")
    private BigDecimal aae798;

    @ApiModelProperty(value = "固化指数")
    private BigDecimal aae799;

    @ApiModelProperty(value = "账目类型")
    private String aae800;

    @ApiModelProperty(value = "征集流水号")
    private String aaz625;

    @NotBlank
    @ApiModelProperty(value = "费用标志")
    private String aae792;

    @NotNull
    @ApiModelProperty(value = "实收年月")
    private BigDecimal aae150;

    @ApiModelProperty(value = "实收分配流水号")
    private String aae066;

    @ApiModelProperty(value = "退费年月")
    private BigDecimal aae748;

    @ApiModelProperty(value = "退还账户滚存利息标志")
    private String aae822;

    @ApiModelProperty(value = "退费批次号")
    private String aaz631;

    @ApiModelProperty(value = "退费流水号")
    private String aaz650;

    @ApiModelProperty(value = "备注")
    private String aae013;

    @ApiModelProperty(value = "经办人")
    private String aae011;

    @ApiModelProperty(value = "经办时间")
    private BigDecimal aae036;

    @ApiModelProperty(value = "参保地行政区划代码")
    private String aab359;

    @TableField(exist = false)
    @ApiModelProperty(value = "姓名")
    private String aac003;

    @TableField(exist = false)
    @ApiModelProperty(value = "单位名称")
    private String aab004;

    public void copy(AccountAc08 source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
